/**
 * 行政老师删除实习学生的某条信息
 * 
 * 行政老师删除学生
 * 如果未报名直接删除
 * 如果报名了则不能删除
 * 
 *  API:
 *  /xingzheng/student/del
 */

const InternshipStudents = require('../../../models/internshipStudents')
const Year = require('../../../models/years')
const utils = require('../../../utils/index')
const $ = require('../../../utils/common')

const del = async function (req, res) {
    try {
        // 检查参数，学号和实习年度
        if (!req.body.id) {
            $.sendMessage(res, 1015, '缺少参数 id')
            return
        }

        // 检查该年度和该学生是否存在
        var student = await InternshipStudents.findOne({
            where: {
                id: req.body.id
            }
        })

       if (student == null) {
            $.sendMessage(res, 1015, '靓仔不存在该学生喔')
            return
       }

       if (student.dataValues.student_status == '1') {
            $.sendMessage(res, 1020, '您没有权限删除已经报名的学生')
            return
       }

       else if (student.dataValues.student_status != '1') {
        //    直接删除该学生
            const del_result = await InternshipStudents.destroy({
                where: {
                    id: req.body.id
                }
            })

            $.log('del result', del_result)
            if (del_result == '1') {
                res.json({
                    code: 200,
                    message: '删除成功'
                })
                 // 日志
                utils.create_a_log(req, '实习学生列表', '删除')
                return
            }
            else {
                res.json({
                    message: '删除失败'
                })
                 // 日志
                utils.create_a_log(req, '实习学生列表', '删除', '失败')
                return
            }
            
       }       
    }
    catch(error) {
        $.log('error :', error)
        res.json({
            code: 0000,
            message: '抓到异常',
            error: error
        })
        utils.create_a_log(req, '年度学生', '添加学生', '失败')
    }
}
    
module.exports = del